home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Ultimate Window Set -…Games & Quality Programs
/
The Ultimate Window Set - 250 Games & Quality Programs.iso
/
win
/
pro218
/
inctrl.doc
< prev
next >
Wrap
Text File
|
1992-07-17
|
11KB
|
222 lines
INCTRL.EXE (Version 1.0) Copyright (c) 1992 Neil J. Rubenking
------------------------------------------------------------------------
First Published in PC Magazine July 1992 (Utilities)
------------------------------------------------------------------------
INCTRL:
INCTRL.EXE is an Installation Control program for Windows. It
supervises an application's install utility and writes a report file
of changes made to your system.
USING INCTRL
After copying INCTRL.EXE onto your hard disk, you can load it from
Program Manager, as usual. Note that the program requires protected
mode (Windows Standard or Enhanced modes) to operate.
It takes hardly any more effort to install a new Windows application
under INCTRL's supervision than to go through the usual File, Run dialog
under Program Manager. After bringing up INCTRL, you press one button
to select the install program and press a second to choose a filename
for the output report. Although this documentation discusses INCTRL using
a Windows 3.1 common dialog box for file selection, INCTRL does not require
the COMMDLG dynamic link library. If you don't have COMMDLG.DLL on your
system, INCTRL will simply use a different file selection dialog box.
When you've selected both the install program to be run and a name
for INCTRL's output report, the grayed-out Perform Install button will
be enabled. Press it and INCTRL will take over the installation.
There will be an initial delay as INCTRL memorizes the file layout
of the fixed disks on your system. During this interval a small window
will appear to let you know what's happening. INCTRL also makes copies
of WIN.INI and SYSTEM.INI at this time, using the names WININI.$$$ and
SYSINI.$$$. After these preparations, INCTRL executes the application's
install program; then you simply follow the application's instructions
to complete the installation.
After the installation is finished, INCTRL writes a header (which
includes the install filename and the current date and time) for its
output report. It then scans your fixed disks again, checking each file
and directory against the disk contents it memorized earlier. For items
already present on its list, INCTRL compares the current size and date/time
stamp with their previous values. If the stamps are different, INCTRL
notes that the file has changed; if they are the same, it removes the file
from the list. Any file not present on the list was obviously added during
the installation, so INCTRL writes its name to the output report.
When this second scan of files and directories is complete, the
only files left from INCTRL's original list will be those that were
changed during the installation or those that were deleted. INCTRL first
flips through the list and reports the name of every item that was marked
as having been changed by the install program. Since every file that
exists on-disk was either removed from the list or marked as changed,
any remaining files not marked as changed must have been deleted by
the install program. INCTRL reports these as well, even though it's
unusual for an install program to erase files.
Next, INCTRL compares the saved copy of WIN.INI with the current
WIN.INI. It compiles a list of all the section headings from the old
file and checks that list against the section headings from the new file.
If any were added during the installation, it writes their names to the
output report and adds them to the list. INCTRL doesn't report on sections
deleted from WIN.INI. It follows the same procedure in examining
SYSTEM.INI. For each section in the .INI file, INCTRL gets a list of
all the keys (for example, Load) contained in that section of the old
file and reports on any keys that were added in the new file. Then it
checks the value of each key from the old file against the value of
that key in the new file. If they differ, it writes both the old value
and the new to the output file.
INCTRL will notify you if it finds a duplicate section name or a
duplicate key within a section of an INI file. Normally, the Windows
functions that create the keys don't allow creation of duplicate key
names. A particular exception occurs in the [386Enh] section of
SYSTEM.INI, however, which can have any number of lines with the key
DEVICE. Windows accesses these lines during initialization, without
going through the normal INI-handling functions. INCTRL also treats
this key specially: It simply counts the number of times it occurs in
the old and in the new files and reports if the new file has more
DEVICE lines.
The Figure below shows an abbreviated version of a sample INCTRL
report, which was generated while installing the After Dark screen saver.
That application's install program copied 81 files and 5 directories
to the disk, added a DEVICE= line to SYSTEM.INI, and added the programs
AD.EXE and ADINIT.EXE to the LOAD= line in WIN.INI. There are 8 files
listed as changed: 3 .INI files and 5 from an earlier incomplete attempt
to uninstall the program.
Be warned that some install programs take a two-step approach that
fools INCTRL: They copy a secondary install program to the hard disk
and then execute that program. INCTRL thinks the installation is over
when the primary program ends, so it reports that the only file added
was the secondary install program. You may be able to work around this
situation by using INCTRL to reexecute the secondary install program.
If it reinstalls the remaining files, they'll show up as changed files
in the INCTRL report.
CONFIGURING INCTRL
By default, INCTRL scans all fixed disks on your system looking
for file and directory changes. If you have one or more disk partitions
that are never used for Windows applications, you can speed INCTRL's
search and reduce its memory requirements by excluding those drives from
examination. To do so, create the ASCII file INCTRL.INI in your Windows
directory with a single section called [Excluded drives]. For each drive
you want to exclude, add a key line such as c=1 to that section. For
example, to exclude drives C: and D:, add the following:
[Excluded drives]
c=1
d=1
Your Windows directory is the default storage location for INCTRL
report files. To make another directory the default, add a [Directories]
section to INCTRL.INI and assign that directory to the ReptDir key, as,
for example:
[Directories]
ReptDir=E:\INCTRL
UNINSTALLING WITH INCTRL
Although INCTRL gives you the information you need to uninstall a
program, you'll have to make some decisions based on this information.
Your first step is to delete the program's icon from the Program Manager
group that contains it. If the program has a group all its own, you can
delete the whole group.
Now run your favorite file manager and, into your editor of choice,
load the INCTRL report for the application to be removed. Look first for
entire directories added during its installation: you can usually delete
these entirely. You should at least consider the possibility, however,
that you may have created data files in a program-created directory that you're thinking of deleting. If you're not sure, try individually deleting
the files INCTRL reports in that directory and examine any that are left
over.
You can, of course, delete a private .INI file if the program
installed one, but most files added to the Windows and the System
directories are intended to be shared with other programs. Thus, it
may not be safe to delete .DLL, .DRV, .FON or .EXE files that were
installed in either of these directories. If you want to be sure, rename
rather than delete these possibly shared files and then restart Windows.
Bring up each program you installed after the program being removed and
make sure it doesn't depend on the renamed files. If this test succeeds,
you can delete the renamed files. If one of your programs refuses to run
without a particular renamed file, rename it back and add that filename
to the INCTRL report for the dependent program.
INCTRL's list of changed files is provided for your information;
most of the time you won't want to delete any of these, since the
installation program either updated them or simply recopied them on
your disk. Either way, they were there before the installation and should
probably stay after you uninstall the program.
If changes were made to WIN.INI or SYSTEM.INI, bring up the affected
.INI file in your favorite ASCII editor. A new section is much like a new
directory--you can probably erase the whole thing. If one or more .EXE
files were added to the LOAD= or RUN= lines in the [windows] section of
WIN.INI, remove them. Don't simply restore the "before" value of the
line unless you're sure that other programs have not subsequently been
added to these lines. On the other hand, some programs are associated
with a particular file extension in the [extensions] section. Once the
program is gone, you'll probably want to delete the WIN.INI line for
that association.
Other .INI file changes must be considered on a case-by-case basis.
If you're not sure whether it's safe to delete a line, turn it into a
comment by putting a semicolon at the beginning of the line. Then restart
Windows and run each program that was installed after the program being
removed. If they all work, you can either delete the now-commented lines
or leave them in place as comments. In case you find that one of your
other programs does depend on a particular .INI file line, remove the
initial semicolon and add the line to the INCTRL report file for that
program.
Neil J. Rubenking is technical editor of PC Magazine.
----------------------------------------------------------------------
Figure: This is an abbreviated version of the report INCTRL produced
after installing the After Dark screen saver.
----------------------------------------------------------------------
AN INCTRL REPORT
INSTALLATION REPORT - B:\INSTALL.EXE
Produced by INCTRL, Copyright (c) 1992 by Neil J. Rubenking
Wed 4/1/1992 09:20:29.06
*** FILES AND DIRECTORIES ADDED ***
DIR : E:\AFTERDRK
FILE: E:\WINDOWS\AFTERDAR.GRP
FILE: E:\AFTERDRK\AD_LIB.DLL
FILE: E:\AFTERDRK\ADINIT.EXE
FILE: E:\AFTERDRK\AD.EXE
. . .
FILE: E:\AFTERDRK\ADMODULE.SDK\BLANKER\MNAME.RSC
Install program added 81 files and 5 directories.
*** FILES AND DIRECTORIES CHANGED ***
FILE: E:\WINDOWS\AD.CFG
FILE: E:\WINDOWS\ADMODULE.ADS
FILE: E:\WINDOWS\AD_PREFS.INI
FILE: E:\WINDOWS\PROGMAN.INI
FILE: E:\WINDOWS\SYSTEM.ADK
FILE: E:\WINDOWS\SYSTEM.INI
FILE: E:\WINDOWS\WIN.INI
FILE: E:\WINDOWS\WININI.ADK
Install program changed 8 files and 0 directories.
*** KEYS CHANGED IN WIN.INI SECTION [windows] ***
BEFORE: load=
AFTER: load=e:\afterdrk\ad.exe e:\afterdrk\adinit.exe
1 keys changed in WIN.INI section [windows]
*** KEYS ADDED TO SYSTEM.INI SECTION [386Enh] ***
1 DEVICE= lines added to the [386Enh] section of SYSTEM.INI
1 keys added to SYSTEM.INI section [386Enh]
----------------------------------------------------------------------